1. Field of the Invention
The present invention relates generally to SCSI buses, and more particularly, to devices and methods for effectively connecting additional devices to a SCSI bus, which exceed the maximum number of eight as specified by the identification (ID) number.
2. Related Art
The small computer systems interface (SCSI) is an ANSI standard communications bus that includes the electrical and logical protocol specification. SCSI provides for the connection of up to eight devices on the bus, each having a unique identification (ID) from zero to seven. The eight devices can be of any type, ranging from host computers to disk drives, tape drives, optical storage devices, printers, scanners, etc.
ANSI document number X3.131-1986 (Global Engineering Documents, Irvine, Calif.) describes the electrical and logical protocol specifications for the SCSI. This document is incorporated by reference herein.
SCSI has become an industry standard. It is used, for example, in the computer workstation environment. It is also used in the personal computer environment. It has become the standard for peripherals, such as disk drives, tape drives, optical storage devices, printers, scanners, etc.
Like all standards, SCSI is used in a large number of installed pieces of computer equipment. Users have invested considerable money in computers and peripherals which employ the SCSI.
With the constant increase in the performance/price ratio of computer system, the amount of data and the number of peripherals that need to be accommodated by the SCSI has increased. The problem with this increase is that the SCSI can only accommodate eight devices. There are many applications where more than eight devices are needed or desired.
FIG. 1 shows a block diagram of a conventional SCSI system. Referring now to FIG. 1, a host computer (each called an initiator) 102 has been arbitrarily assigned SCSI ID No. 7. The host computer 102 is electrically connected to an SCSI bus 104. Connected to SCSI bus 104 are seven additional devices (called targets) 106, 108, 110, 112, 114, 116, and 118. These additional (target) devices 106-118 can be any device that complies with the SCSI standard protocol. Additional device 106 has been assigned, for example, SCSI ID No. 0. Similarly, drive 108 has been assigned SCSI ID No. 1, drive 110 has been assigned SCSI ID No. 2, robotics 112 has been assigned SCSI ID No. 3, drive 114 has been assigned SCSI ID No. 4, drive 116 has been assigned SCSI ID No. 5, and robotics 118 has been assigned SCSI ID No. 6.
As an inside, it should be noted tat drive 108, drive 110, and robotics 112 are shown as residing in an optical library enclosure 120. This is merely for purposes of illustration to show that more than one device connected to a SCSI bus can reside in a single physical enclosure. This inclusion of more than one SCSI device in a single physical (mechanical) enclosure is a trend, for example, in connection with the storage of large amounts of data.
Another conventional concept is also illustrated in FIG. 1. The length of the SCSI bus is limited in order to achieve desired electrical performance. For example, the SCSI bus cannot be more than six meters long when a Single Ended approach is used. When Differential communications are used, the SCSI bus can have a maximum length of twenty-five meters.
There are many situations where the additional device is located more than six meters, or more than twenty-five meters, (depending on the communications scheme employed) from the host computer 102. This is graphically illustrated in FIG. 1. It is seen that a conventional repeater 124 connects additional device 106 via a SCSI bus 2 (assigned reference number 126) to the (main) SCSI bus 104. As is well known, repeater 124 provides the necessary signal amplification to allow for the additional device 106 to be physically situated more than the six meter or twenty-five meter limit from the host computer 102.
As is well known, the repeater 124 merely acts to boost the signal level of the signal received on one SCSI bus, which boosted signal is provided to a second SCSI bus and vice versa. In effect, it acts like a conventional repeater in terms of merely amplifying the signal levels from one bus to a second bus. It should be noted that no signal storage or mapping or other function occurs in repeater 124.
As stated above, there are many situations where it is needed or desired to have more than eight devices connected to a SCSI bus.
One conventional approach for allowing for more than eight units to be effectively connected to the SCSI bus is shown n FIG. 2. The SCSI bus 104 is connected to a peripheral device 202. Peripheral device 202 is assigned a single SCSI ID number. As far as the SCSI bus 104 is concerned, peripheral device 202 has a single SCSI identification.
Peripheral device 202 includes a plurality of N drives, for example, (where N is a positive integer greater than 1). Specifically, in the examples shown, peripheral device 202 includes a drive 1 (labeled with reference number 218), a drive 2 (labeled with a reference number 224), and a drive N (labeled by reference number 230). A controller 204 electrically connects the SCSI bus 104 with the drives 218, 224 and 230 using a hard-wired, (often proprietary), and dedicated approach as follows.
As shown, controller 204 includes a microprocessor 206, switching electronics 208, a stored computer program 210, and electronic storage 212 for use by the controller 204 and microprocessor 206. Together, controller 204 routes information received from the SCSI bus 104 to the specific drive 218, 224, 230 as determined by the program stored in controller 204 in program 210. This routing is accomplished using individual buses and control lines for each of the drives. For example, as shown, drive 218 is connected to the controller 204 via a bus 214. In addition, a control line 216 is included, which allows controller 204 to control the operation of drive 218. Similarly, drive 224 includes a bus 220 and a control line 222, and drive 230 includes a bus 226 and a control line 228. It can be seen that this approach requires specific buses and control lines for the controller 204 in order to effect the desired data transfer.
Controller 204 must be programmed using its stored computer program 210 so as to be able to carry out the intended functions that are needed to accommodate the SCSI bus 104. It can be appreciated that the drives 218, 224 and 230 cannot be directly connected to the SCSI bus 104. Similarly, it can be appreciated that the controller 204 is required in order to accommodate the interfacing between the SCSI bus 104 and the drives 218, 224 and 230. Typically, controller 204 is required to reformat data received from SCSI bus 104 for transmission to one or more of the drives 218, 224 and 230, and for reformating data received from a drive 218, 224, and 230 for transmission on the SCSI bus 104. Therefore, it can also be appreciated that considerable data reformatting and SCSI bus protocol accommodation must be made by the peripheral device 202. Nevertheless, peripheral device 202 provides additional storage capacity than can be accomplished using a single drive attached directly to SCSI bus 104.
The SCSI standard further includes a logical unit number (LUN). A logical unit number is specified from 0 to 7. Some host computers 102 include drivers (hardware and/or software) which provide the logical unit number, whereas others have more simple drivers that do not provide the logical unit number. Modification of the host computer to include such a driver is relatively simple and inexpensive and is conventionally known.
The provision of a logical unit number by the host computer 102 on the SCSI bus 104 allows for a peripheral device 202 to specify up to eight devices contained in the peripheral device 202. In other words, the logical unit number allows the peripheral device 202 to select a desired internal device that is being specified by the SCSI bus 104. Thus, up to eight devices can be contained in a peripheral device 202 having a controller 204 which can recognize and operate using a logical unit number provided on the SCSI bus 104.
Conventional approaches required that the controller 204 recognize the logical unit number, then act to control the internal devices 218, 224 through 230, and to remap data sent to and received from devices 218, 224 through 230 via the controller 204. This requires typically that the devices 218, 224 and 230 be dedicated. It also requires considerable additional electronics to accommodate the logical unit function specified on the SCSI bus 104. Nevertheless, it can be seen that this results in a single SCSI ID number being able to accommodate up to eight internal devices as specified by the logical unit number.
Conventional approaches exhibit significant deficiencies. Where the logical unit number is not used, it can be seen that the number of devices that can be accommodated on the SCSI bus 104 is a maximum of eight.
Where the logical unit number is employed, it can be seen that the maximum number of logical unit numbers of devices that can be accommodated on the SCSI bus 104 is fifty-six (7 SCSI ID numbers.times.8 logical units, where the first SCSI ID number is assigned to the host computer 102). However, considerable electronics is required to accommodate the additional devices that are assigned to a specific SCSI ID number. In additional, these devices typically have to be dedicated, and do not use the SCSI bus interface between their controller 204 and the device 218, 224 through 230. Reformatting and control signaling is required, and existing devices merely have SCSI interfaces cannot be connected to the controller 204 or used in such a configuration.
The present invention solves these problems in the manner set forth below.